home *** CD-ROM | disk | FTP | other *** search
- /****************************/
- /* WINDOWS */
- /* By Brian Greenstone */
- /****************************/
-
-
- /***************/
- /* EXTERNALS */
- /***************/
- #include <Files.h>
- #include <Dialogs.h>
-
- #include <QD3D.h>
-
- #include "myglobals.h"
- #include "mywindows.h"
- #include "misc.h"
-
-
- extern Boolean gShowContentStructure,gSaveTextToFile;
- extern FSSpec gStreamFSSpec;
- extern short gStreamRefNum;
-
-
- /****************************/
- /* CONSTANTS */
- /****************************/
-
-
- /**********************/
- /* VARIABLES */
- /**********************/
-
- Rect gSizeRect;
- short gHtab = 10;
-
-
-
-
-
- /*********************** DUMP GWORLD **********************/
- //
- //
- //
-
- void DumpGWorld(GWorldPtr thisWorld, WindowPtr thisWindow)
- {
- Rect tempRect;
- GrafPtr oldPort;
- PixMapHandle pm;
-
- DoLockPixels(thisWorld);
-
- GetPort(&oldPort);
- pm = GetGWorldPixMap(thisWorld);
- if ((pm == nil) | (*pm == nil) )
- DoAlert("\pPixMap Handle or Ptr = Null?!");
-
- SetPort(thisWindow);
-
- tempRect = thisWindow->portRect;
-
- ForeColor(blackColor);
- BackColor(whiteColor);
-
- CopyBits((BitMap *)*pm,&(qd.thePort->portBits),
- &(thisWorld->portRect),&tempRect,srcCopy,0);
-
- SetPort(oldPort);
- }
-
- /*********************** DUMP GWORLD 2 **********************/
- //
- // copies to a destination RECT
- //
-
- void DumpGWorld2(GWorldPtr thisWorld, WindowPtr thisWindow,Rect *destRect)
- {
- PixMapHandle pm;
-
- DoLockPixels(thisWorld);
-
- pm = GetGWorldPixMap(thisWorld);
- if ((pm == nil) | (*pm == nil) )
- DoAlert("\pPixMap Handle or Ptr = Null?!");
-
- ForeColor(blackColor);
- BackColor(whiteColor);
-
- CopyBits((BitMap *)*pm,&(thisWindow->portBits),
- destRect,destRect,srcCopy,0);
-
- DoUnlockPixels(thisWorld);
- }
-
- /*********************** DUMP GWORLD 3 **********************/
- //
- // copies RECT to RECT
- //
-
- void DumpGWorld3(GWorldPtr thisWorld, WindowPtr thisWindow,Rect *srcRect,Rect *destRect)
- {
- PixMapHandle pm;
-
- DoLockPixels(thisWorld);
-
- pm = GetGWorldPixMap(thisWorld);
- if ((pm == nil) | (*pm == nil) )
- DoAlert("\pPixMap Handle or Ptr = Null?!");
-
- ForeColor(blackColor);
- BackColor(whiteColor);
-
- CopyBits((BitMap *)*pm,&(thisWindow->portBits),
- srcRect,destRect,srcCopy,0);
-
- // DoUnlockPixels(thisWorld);
- }
-
-
- /*********************** DUMP GWORLD TO GWORLD **********************/
- //
- // copies RECT to RECT
- //
-
- void DumpGWorldToGWorld(GWorldPtr thisWorld, GWorldPtr destWorld,Rect *srcRect,Rect *destRect)
- {
- PixMapHandle pm,pm2;
- GDHandle oldGD;
- GWorldPtr oldGW;
-
- GetGWorld (&oldGW,&oldGD);
- SetGWorld(destWorld,nil);
- ForeColor(blackColor);
- BackColor(whiteColor);
-
- SetGWorld(thisWorld,nil);
- ForeColor(blackColor);
- BackColor(whiteColor);
-
- DoLockPixels(destWorld);
- DoLockPixels(thisWorld);
-
- pm = GetGWorldPixMap(thisWorld);
- if ((pm == nil) | (*pm == nil) )
- DoAlert("\pPixMap Handle or Ptr = Null?!");
-
- pm2 = GetGWorldPixMap(destWorld);
- if ((pm2 == nil) | (*pm2 == nil) )
- DoAlert("\pPixMap Handle or Ptr = Null?!");
-
-
- CopyBits((BitMap *)*pm,(BitMap *)*pm2,
- srcRect,destRect,srcCopy,0);
-
- SetGWorld(oldGW,oldGD); // restore gworld
-
- }
-
-
-
- /******************* DO LOCK PIXELS **************/
-
- void DoLockPixels(GWorldPtr world)
- {
- PixMapHandle pm;
-
- pm = GetGWorldPixMap(world);
- if (LockPixels(pm) == false)
- DoFatalAlert("\pPixMap Went Bye,Bye?!");
- }
-
-
- /***************** DO UNLOCK PIXELS **************/
-
- void DoUnlockPixels(GWorldPtr world)
- {
- PixMapHandle pm;
-
- pm = GetGWorldPixMap(world);
- UnlockPixels(pm);
- }
-
-
- /*==============================================================================
- * Dobold ()
- * this is the user item procedure to make the thick outline around the default
- * button (assumed to be item 1)
- *=============================================================================*/
-
- pascal void DoBold (WindowPtr dlogPtr, short item)
- {
- short itype;
- Handle ihandle;
- Rect irect;
-
-
- GetDialogItem (dlogPtr, item, &itype, (Handle *)&ihandle, &irect); /* get the buttons rect */
- PenSize (3, 3); /* make thick lines */
- InsetRect (&irect, -4, -4); /* grow rect a little */
- FrameRoundRect (&irect, 16, 16); /* frame the button now */
- PenNormal ();
- }
-
- /*==============================================================================
- * DoOutline ()
- * this is the user item procedure to make the thin outline around the given useritem
- *=============================================================================*/
-
- pascal void DoOutline (WindowPtr dlogPtr, short item)
- {
- short itype;
- Handle ihandle;
- Rect irect;
-
- GetDialogItem (dlogPtr, item, &itype, (Handle *)&ihandle, &irect); // get the user item's rect
- FrameRect (&irect); // frame the button now
- PenNormal();
- }
-
-
-
-
-
-